<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
    <title>Wedstrijdschema invoeren</title>
  </head>
  <body>
    <FORM ACTION="<?php $_SERVER['PHP_SELF'] ?>" METHOD="POST">
      <DIV id="a" style="width:100%;">
        <DIV id="left" style="width:20%;float:left;">
          <BR>
        </DIV>
        <DIV id="middle" style="width:60%;float:left;">
          <P><h1>Wedstrijdschema</h1></P>
          <P>
            <?php
            require_once("./dbConnect.inc");
            $newSchemaMessage = "";
            session_start();
            
            if (isset($_SESSION['username'])) {
              if (isset($_POST["submit"])) {
                processForm();
              } elseif (isset($_POST["newschema"])) {
                newSchema();
              } else {
                modifySchema();
              }
            } else {
              print("Je bent niet aangemeld.<BR> 
                Ga naar de begin <a href=\"index.php\">pagina</a> om je aan te melden!");
            }

            function newSchema() {
              global $databaseConnection;

              //maak nieuwe tabellen voor wedstrijdschema en doelpunten
              $qNewCompetition = "CALL sp_nieuwWedstrijdSchema()";
              $queryResult = mysqli_query($databaseConnection, $qNewCompetition);
              
              $qteams = "SELECT teamid, naam from teams";
              $queryResult = mysqli_query($databaseConnection, $qteams);
              
              while ($row = mysqli_fetch_array($queryResult, MYSQLI_ASSOC)) {
                $teams[] = $row["naam"];
              }
              
              print('<table border="1" cellpadding="3">');
              print("<th>Datum</th><th>Thuis</th><th>Uit</th>");
              $wedstrijdId = 0;
              
              //genereer een nieuw schema. Alle teams spelen twee keer tegen elkaar.
              //standaard datum is 1013-01-01
              //Na verzenden van het formulier bevat $_POST de volgende keys:
              //$_POST['date1day'] $_POST['date1month'] $_POST['date1year']
              //$_POST['thuis1'] $_POST['uit1'] waar 1 het id is van de wedstrijd zoals deze 
              //in de database wordt opgeslagen.
              for ($i = 0; $i < mysqli_num_rows($queryResult); $i++) {
                for ($j = 0; $j < mysqli_num_rows($queryResult); $j++) {
                  if ($i <> $j) {
                    $thuis = "thuis_id-$wedstrijdId";
                    $uit = "uit_id-$wedstrijdId";
                    print("<tr><td>" . date_picker($wedstrijdId, "2013-0101", 0) . "</td>");
                    print("<td><input type=\"text\" name=\"$thuis\" value=\"$teams[$i]\" readonly></td>");
                    print("<td><input type=\"text\" name=\"$uit\" value=\"$teams[$j]\" readonly></td>");
                    $wedstrijdId += 1;
                  }
                }
              }
              print("</table><BR><BR>");
              mysqli_free_result($queryResult);
              print("<P><INPUT TYPE=\"submit\" NAME=\"submit\" VALUE=\"Verstuur\">
                <INPUT type=button onClick=\"location.href = 'index.php'\" value='Afbreken'></P>");
            }
            
            function modifySchema() {
              global $databaseConnection;
              global $newSchemaMessage;
              $newSchemaMessage = "<P><h3>Klik op deze knop om een hele nieuwe competitie te beginnen.<BR>
                LET OP: Als je een nieuwe competitie begint wordt er een backup
                gemaakt van de huidige competitie, maar deze is dan niet meer zichtbaar.<BR>
                </h3></P>
                <INPUT TYPE=\"submit\" NAME=\"newschema\" VALUE=\"Nieuw wedstrijdschema\">";
              
              $qteams = "SELECT wedstrijdid, datum, (select naam from teams where teamid = thuisteamid) thuis,
                (select naam from teams where teamid = uitteamid) uit, gespeeld from wedstrijdschema";
              
              $queryResult = mysqli_query($databaseConnection, $qteams);
              
              if (mysqli_num_rows($queryResult) > 0) {
                print('<table border="1" cellpadding="3">');
                print("<th>Datum</th><th>Thuis</th><th>Uit</th>");
                
                //Na verzenden van het formulier bevat $_POST de volgende keys:
                //$_POST['date1day'] $_POST['date1month'] $_POST['date1year']
                //$_POST['thuis1'] $_POST['uit1'] waar 1 het id is van de wedstrijd zoals deze 
                //in de database wordt opgeslagen.
                //LET OP velden die disabled zijn worden niet gepost!
                while ($row = mysqli_fetch_array($queryResult, MYSQLI_ASSOC)) {
                  $wedstrijdid = $row["wedstrijdid"];
                  $datum = $row["datum"];
                  $thuis = "thuis_id-" . $wedstrijdid;
                  $uit = "uit_id-" . $wedstrijdid;
                  $gespeeld = $row["gespeeld"]; // 0 of 1
                  if ($gespeeld) {
                    $flag = " disabled";
                  } else {
                    $flag = " readonly";
                  }
                  print("<tr><td>" . date_picker($wedstrijdid, $datum, $gespeeld) . "</td>");
                  print('<td><input type="text" name="' . $thuis . '" value="' . $row["thuis"] . "\"$flag></td>");
                  print('<td><input type="text" name="' . $uit . '" value="' . $row["uit"] . "\"$flag></td>");
                }
                
                print("</table><BR><BR>");
                mysqli_free_result($queryResult);
                
                print('<input type="hidden" name="update" value="update">');
                print("<P><INPUT TYPE=\"submit\" NAME=\"submit\" VALUE=\"Verstuur\">
                <INPUT type=button onClick=\"location.href = 'index.php'\" value='Afbreken'></P>");
              } else {
                newSchema();
              }
            }

            function processform() {
              global $databaseConnection;
              $schema = array();
              
              if (isset($_POST["update"])) {
                //Dit betekend dat er een bestaand schema wordt aangepast
                //$_POST["update"] is een hidden field.
                $update = true;
              } else {
                //Er is geen wedstrijdId bekend, dit betekend dat het een nieuw
                //wedstrijdschema is.
                $update = false;
              }
              
              //$schema[0] = day, $schema[1] = month, $schema[2] = year, 
              //$schema[3] = thuisTeamNaam, $schema[4] = uitTeamNaam
              
              foreach ($_POST AS $index => $data) {
                if (strpos($index, "_id-") > 0) {
                  
                  $id = str_replace("_id-", "", strstr($index, "_id-"));

                  if (strpos($index, "day") === 0) {
                    $schema[$id] = array("wedstrijdid" => $id, "day" => $data, "month" => "", "year" => "", "thuis" => "", "uit" => "");
                  }
                  
                  if (strpos($index, "month") === 0) {
                    $schema[$id]["month"] = $data;
                  }
                  
                  if (strpos($index, "year") === 0) {
                    $schema[$id]["year"] = $data;
                  }
                  
                  if (strpos($index, "thuis") === 0) {
                    $schema[$id]["thuis"] = $data;
                  }
                  
                  if (strpos($index, "uit") === 0) {
                    $schema[$id]["uit"] = $data;
                  }
                }
              }

              foreach ($schema AS $id => $matchData) {
                $wedstrijdid = $id;
                //year-month-day
                $datum = $matchData["year"] . "-" . $matchData["month"] . "-" . $matchData["day"];
                $thuis = $matchData["thuis"];
                $uit = $matchData["uit"];

                // Voeg een wedstrijd toe aan het wedstrijdschema
                if ($update) {
                  $query = "CALL sp_updateWedstrijd($wedstrijdid, '$datum')";
                } else {
                  $query = "CALL sp_nieuweWedstrijd('$datum', '$thuis', '$uit')";
                }

                $queryResult = mysqli_query($databaseConnection, $query);

                $queryResult ? $succes = true : $succes = false;
              }
              
              print($succes ? "Wedstrijd is opgeslagen.<BR>
                    Klik <a href=\"index.php\">hier</a> om naar de begin pagina te gaan.<BR>" :
                          "Er is iets mis gegaan met opslaan van het schema.<BR>
                            Bel de helpdesk.<BR>");
            }

            function date_picker($id, $date, $disabled) {
              if ($disabled) {
                $selectiondisabled = " DISABLED";
              } else {
                $selectiondisabled = "";
              }
              $timestamp = strtotime($date);
              $day = date("d", $timestamp);
              $month = date("F", $timestamp);
              $year = date("Y", $timestamp);

              $startyear = date("Y");
              $endyear = date("Y") + 3;
              $months = array('', 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');    // Month dropdown

              $html = "<select name=\"day_id-" . $id . "\"$selectiondisabled>";
              for ($i = 1; $i <= 31; $i++) {
                $html.= ($i == $day) ? "<option value='$i' selected>$i</option>" : "<option value='$i'>$i</option>";
              }
              $html.="</select> ";

              $html.="<select name=\"month_id-" . $id . "\"$selectiondisabled>";
              for ($i = 1; $i <= 12; $i++) {
                $html.= ($months[$i] == $month) ? "<option value='$i' selected>$months[$i]</option>" : "<option value='$i'>$months[$i]</option>";
              }
              $html.="</select> ";

              $html.="<select name=\"year_id-" . $id . "\"$selectiondisabled>";
              for ($i = $startyear; $i <= $endyear; $i++) {
                $html.= ($i == $year) ? "<option value='$i' selected>$i</option>" : "<option value='$i'>$i</option>";
              }
              $html.="</select>";
              return $html;
            }
            ?>
          </P>
        </DIV>
        <DIV id="right" style="width:20%;float:left;">
          <?php print($newSchemaMessage); ?>
        </DIV>  
      </DIV>
  </body>
</html>